package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class SalaryChangeDto {


	@TableId
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
		private Long id;
	/**
	 * 员工id
	 */
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
		@ApiModelProperty(value = "员工id", required = false)
		private Long oid;


	/**
	 * 录用员工工号
	 */
	@ApiModelProperty(value = "录用员工工号", required = false)
	private String code;

	/**
	 * 录用员工姓名
	 */
	@ApiModelProperty(value = "录用员工姓名", required = false)
	private String name;


	/**
	 * 申请日期
	 */
	@ApiModelProperty(value = "申请日期", required = false)
	private Date applyTime;
	/**
	 * 拟录用岗位
	 */
	@ApiModelProperty(value = "拟录用岗位", required = false)
	private String jobname;
	/**
	 * 拟录用岗位
	 */
	@ApiModelProperty(value = "拟录用岗位", required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobId;

	/**
	 * * 拟录用公司
	 */
	@ApiModelProperty(value = "拟录用公司", required = false)
	private String orgname;
	/**
	 * 公司id
	 */
	@ApiModelProperty(value = "公司id", required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long orgId;


	/**
	 * 拟录用部门
	 */
	@ApiModelProperty(value = "拟录用部门", required = false)
	private String unitname;
	/**
	 * 部门id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "部门id", required = false)
	private Long unitId;



	/**
	 * 审批状态：0.待审批，1审批中 2. 已审批，3.作废
	 */
	@ApiModelProperty(value = "审批状态：0.待审批，1审批中 2. 已审批，3.作废", required = false)
	private Integer approveStatus;

	/**
	 * 部门id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	@ApiModelProperty(value = "部门id", required = false)
	private Long applyDepId;
	/**
	 * 部门
	 */
	@ApiModelProperty(value = "部门", required = false)
	private String applyDepartment;

	/**
	 * 状态
	 */
	@ApiModelProperty(value = "状态", required = false)
	private Integer status;


	/**
	 * 职级id
	 */
	@ApiModelProperty(value = "职级id", required = false)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobLevelId;

	/**
	 * 职级
	 */
	@ApiModelProperty(value = "职级", required = false)
	private String jobLevel;

	/**
	 * 职级类别，1：专业2:管理，
	 */
	@ApiModelProperty(value = "职级类别，1：专业2:管理，", required = false)
	private Integer jobLevelType;


	/**
	 * 现月薪标准
	 */
	@ApiModelProperty(value = "现月薪标准", required = false)
	private BigDecimal standardMonthlySalary;
	/**
	 * 现基本工资基数
	 */
	@ApiModelProperty(value = "现基本工资基数", required = false)
	private BigDecimal baseSalary;
	/**
	 * 现模块工资基数
	 */
	@ApiModelProperty(value = "现模块工资基数，", required = false)
	private BigDecimal moduleSalaryBase;
	/**
	 * 申请调整月薪标准
	 */
	@ApiModelProperty(value = "申请调整月薪标准", required = false)
	private BigDecimal applyAdjustmentMonthlySalary;
	/**
	 * 申请调整基本工资基数
	 */
	@ApiModelProperty(value = "申请调整基本工资基数，", required = false)
	private BigDecimal applyBaseSalary;
	/**
	 * 申请调整模块工资基数
	 */
	@ApiModelProperty(value = "申请调整模块工资基数", required = false)
	private BigDecimal applyModuleSalaryBase;
	/**
	 * 原津贴补助
	 */
	@ApiModelProperty(value = "原津贴补助", required = false)
	private BigDecimal originalAllowanceSubsidy;
	/**
	 * 拟调整津贴补助
	 */
	@ApiModelProperty(value = "拟调整津贴补助", required = false)
	private BigDecimal proposedAdjustmentAllowance;
	/**
	 * 变动类型
	 */
	@ApiModelProperty(value = "变动类型", required = false)
	private Integer type;


	/**
	 * bpm详情
	 */
	@ApiModelProperty(value = "bpm详情", required = false)
	private String bpmUrl;



	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注", required = false)
	private String remark;


	/**
	 * 新公司id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long newOrgId;
	private String newOrgName;
	/**
	 * 新部门id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long newUnitId;
	private String newUnitName;
	/**
	 * 新职位id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long newJobId;
	private String newJobName;

	/**
	 * 新职级id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long newJobLevelId;
	/**
	 * 新职级
	 */
	private String newJobLevel;
	/**
	 * 新职级类别，1：专业2:管理，
	 */
	private Integer newJobLevelType;

	/**
	 * 生效日期
	 */
	private Date effectiveTime;
}
